<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>

  <TITLE>CS631 -- Advanced Programming in the UNIX Environment</TITLE>
  <STYLE type="text/css">
  body {
  background-color: #FFFFFf;
  }
  </STYLE>
  <STYLE type="text/css">
  li.c1 {list-style: none}
  </STYLE>

</HEAD>

<BODY>
  <TABLE border="1" align="center" cellpadding="15">
    <TR>
      <TD valign="top">
        <H2>CS631 -- Advanced Programming in the UNIX Environment - HW#1</H2>

        <H3>HW#1: trivially copy a file</H3>

        <H4>Summary</H4>
	<p>The objective of this assignment is for you to write your first
        program and get comfortable developing a tool from a given specification.
	</p>
	<h4>Problem assignment</h4>
	<p>Write a simple program to copy a file following the
	specification in <a href="tcp.1.pdf">this manual page</a>.  For an
	extra 10 points, also implement <a href="tcpm.1.pdf">the tcpm(1) tool</a>.
	Your program will:
        <ul>
          <li>follow the <a href="hw">general homework guidelines</a></li>
	  <li>be written in C (not C++ or anything else)</li>
	  <li><em>not</em> generate any output other than error messages
            when appropriate</li>
          <li>be accompanied by a Makefile, README, and checklist</li>
        </ul>
	</p>
	<h4>Testing functionality</H4>
	<p>
	You can test the functionality of your program using <a
	href="testcp.sh">this script</a>.  Please note that passing all
	tests there is <em>necessary, but not sufficient</em> for a good
	grade.  As explained in class,
<!-- our <a
	href="https://lists.stevens.edu/pipermail/cs631apue/2016-August/000891.html">welcome
	email</a>--> code quality and cleanliness will factor into your
	grade.
	</p>
	<h4>Deliverables and Due Date</H4>
	<p>You will submit a single <tt>tar</tt> archive named
	<em>username</em>-hw2.tar that will extract
	into a directory named after your username.  In that directory
	will be the files <tt>tcp.c</tt>, <tt>Makefile</tt>, <tt>README</tt>,
	and <tt>checklist</tt>.
	</p>
	<p>
	For example, I would create my submission like this:</p>
	<p><verbatim><tt><pre>
$ whoami
jschauma
$ mkdir jschauma
$ cd jschauma
$ vi tcp.c
$ vi Makefile
$ vi README
$ vi checklist
$ cd ..
$ tar zcf jschauma-hw1.tar.gz jschauma</pre></tt></p>
           <p>
             The due date for this assignment is 2018-09-17 16:00:00 EDT.  Please
             attach the file to an email sent from your <tt>@stevens.edu</tt>
             email address to <a
             href="mailto:jschauma@stevens.edu?subject=[CS631] HW1">jschauma@stevens.edu</a>
             with a subject of "[CS631] HW1".
           </p>

        <hr>
        [<a href="index.html">Course Website</a>]
</BODY>
</HTML>
